// 抽象类

export {} // 确保跟其他示例没有成员冲突

// 定义成抽象类只能去继承 不能使用new创建该类的实例
abstract class Animal {
    eat (food: string): void {
        console.log(`呼噜呼噜的吃: ${food}`);
    }

    // 抽象方法  不需要方法体  子类必须实现该方法
    abstract run (distance: number): void
}

class Dog extends Animal {
    run(distance: number): void {
        console.log('四角爬行', distance);
        
    }
}

const d = new Dog()
d.eat('嗯西马')
d.run(100)